Interactive television system

ABSTRACT

An interactive television system is described.

CROSS-REFERENCED TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application No.60/260,082 filed on Jan. 3, 2001, which is hereby incorporated byreference in its entirety.

BACKGROUND

The described technology relates generally to program guides andspecifically to improvements for electronic program guides.

Electronic program guides have been used extensively to allow users toview programming information for available television channels and toselect which television channel to watch. Electronic program guides aretypically provided by set-top boxes that are connected to a content feed(e.g., cable or satellite) and to a television on the other end. Set-topboxes may access programming information (e.g., channel, title, andstart time) provided through the content feed (e.g., on a designatedchannel) and generate a display of that information referred to as anelectronic program guide. Electronic program guides are generallydisplayed in a grid format with start time information displayedhorizontally and channel information displayed vertically. Each cell ofthe grid may contain the title on the content. Set-top boxes typicallyallow a user to use a remote control to scroll through and select achannel to be watched.

Although electronic program guides help a viewer to locate and select achannel that the viewer wants to watch, some capabilities provided bycurrent electronic program guides are more difficult than they need tobe. For example, current electronic program guides typically allow auser to view programming information for days other than the currentday. These electronic program guides, however, may force a user to takemultiple actions to view program listings for another day. Similarly,electronic program guides typically have different formatted guides fordifferent types of content. For example, one format may be used fordisplaying television programming information, another format may beused for video-on-demand programming information, and a different formatmay be used to display web content information. Since electronic programguides are typically controlled by remote controls, navigation from onescreen to another can be difficult. As a result, minimizing the numberof navigation steps is desirable.

It is well known that some content is objectionable to some viewers. Forexample, some viewers may find X-rated movies objectionable. Sometelevision systems allow users to filter out such objectionable contentso that when the content is selected it cannot be viewed. Electronicprogram guides list the titles of such objectionable content. Someviewers may find even such titles objectionable.

It would be desirable to have an electronic program guide that wouldminimize problems associated with current electronic program guides.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating components of an interactivesystem in one embodiment.

FIG. 2 illustrates an example interactive program guide that allows auser to select another day directly from the currently displayedinteractive program guide.

FIG. 3 illustrates an example interactive program guide that is displayafter the user selects another day's button.

FIG. 4 illustrates an example interactive program guide in an alternatemechanism for selecting another day of the week.

FIG. 5 is a flow diagram illustrating an implementation of a componentto generate an interactive program guide in one embodiment.

FIG. 6 illustrates an example interactive program guide for whichobjectionable information has been filtered out.

FIG. 7 is a flow diagram illustrating an implementation of a componentthat remove information about objectionable content in one embodiment.

FIG. 8 illustrates the integration of television programming informationwith on-demand programming information on a single interactive programguide in one embodiment.

FIG. 9 illustrates an interactive program guide with regular-sized cellsin one embodiment.

FIG. 10 illustrates an interactive program guide with regular-sizedcells when the user selects a cell.

FIG. 11 illustrates another example of the interactive program guidewhen the user selects a cell of a program that is longer than 30minutes.

FIG. 12 illustrates an example television screen in which ATVEFinformation has been embedded.

FIG. 13 is a flow diagram illustrating a component for adding ATVEFinformation to a video stream in one embodiment.

DETAILED DESCRIPTION

Methods and systems related to an interactive television system areprovided. In one embodiment, the interactive system provides aninteractive program guide (“IPG”) that facilitates the selection ofvarious types of program content. One aspect of the interactive systemallows a user to quickly select the day of the week for which theinteractive program guide is to cover. The interactive system displaysthe interactive program guide for one day and includes a mechanism forselecting from that interactive program guide another day's programguide. In one embodiment, the mechanism includes a button for each dayof the week. When a user selects the button, the interactive systemdisplays the interactive program guide for that day of the week. Inanother embodiment, the mechanism includes an indication to select abutton on a remote control to display the interactive program guide forthe previous day or next day. In this way, the user can quickly switchfrom one day to another day from the interactive program guide itself.

Another aspect of the interactive system allows a user to filter outobjectionable information associated with an interactive program guide.For example, the interactive system may replace the titles of X-ratedmovies with an indication that no programming is available. In oneembodiment, the interactive system may provide a filtering mechanismthrough which the user can specify filtering criteria. The filteringcriteria may be based on movie ratings, movie genres, keywordsassociated with the movie, attributes of the content, and so on. Whengenerating an interactive program guide for display, the interactivesystem determines whether content meets the filtering criteria. If not,the interactive system replaces the title of that content on theinteractive program guide. Additionally, the interactive system mayapply the filter criteria to the available channels. If a channel doesnot satisfy a filter criterion, then the interactive system maycompletely remove that channel from the interactive program guide. Forexample, the interactive system may completely remove a channel thatshows only X-rated movies rather than simply replace the titles of thecontent. In this way, in addition to the objectionable content beingfiltered out, information describing objectionable content can also befiltered out.

Another aspect of the interactive system provides an integratedinteractive program guide to display television programming informationand on-demand programming information of the single interactive programguide. The on-demand programming information may include video-on-demandprogramming, accessible web content information, and other non-broadcastcontent information. The interactive system retrieves televisionprogramming information and on-demand programming information andcombines the information into a single interactive program guide. Inthis way, a user can access information for different types ofprogramming from a single interactive program guide.

Another aspect of the interactive system allows an interactive programguide to illustrate content duration using cells of the interactiveprogram guide that have a regular size. In one embodiment, the cells ofthe interactive program guide have the same height and width.Interactive program guides are typically organized with time slotsdisplayed horizontally and with channels displayed vertically. Theinteractive system allows the duration of content to be illustrated byhighlighting multiple cells of a regular size when any cell of thecontent is selected. For example, if each cell represents a 30-minutetime slot, then four cells would be highlighted when one of the fourcells of a 2-hour movie was selected. In this way, although the cellshave a regular size, the irregular length of content can be illustrated.

Another aspect of the interactive system allows Advanced TelevisionEnhancement Forum (“ATVEF”) information to be dynamically embedded intovideo and to be customized to the user. In one embodiment, theinteractive system receives a request to send a video to a user. Theinteractive system retrieves profile information for that user andmodifies the video by adding ATVEF information based on the retrievedprofile. The interactive system then transmits the modified video to theuser. The video may be on-demand video or a broadcasted video. In oneembodiment, the interactive system may analyze close caption informationassociated with the video to further identify the ATVEF information thatshould be added to the video. In this way, interactivity or additionalinformation can be added to on-demand or broadcast videos, and thevideos can be customized based on the user's profile.

FIG. 1 is a block diagram illustrating components of an interactivesystem in one embodiment. The interactive system comprises componentsthat execute on content server 105 and set-top boxes 102. The contentserver receives content from various content feeds 101. The contentfeeds may include pay-per-view movies transmitted via satellite,television programming transmitted via cable, and so on. The contentserver routes content selected by a subscriber or user to theappropriate set-top box. The set-top boxes controls the display of thecontent on the televisions 103. The set-top boxes responsible providethe interactive program guide to the user. The set-top boxes may alsoprovide access to various content sources via the Internet 104. Thecontent server may include a content store 106 that contains videos thatcan be supplied to the set-top boxes on demand. Although not shown, thecontent server may contain databases of subscriber information, abilling component, an authentication component, and so on.

FIG. 2 illustrates an example interactive program guide that allows auser to select another day directly from the currently displayedinteractive program guide. The interactive system displays a programguide for a selected day along with an indication of an action that theuser is to perform to display an interactive program guide for anotherday. In this example, interactive program guide 200 includes televisiondisplay area 201 and program grid 202. The television display area maydisplay the content from the currently selected channel as the userbrowses through the interactive program guide. The program grid includesstart times 203 displayed horizontally and channels 204 displayedvertically. The intersection of the start times and channels are cells205 that contain the title on the content. In this example, the width ofa cell corresponds to the duration of the content. The current day field206 displays the day of the week for the currently displayed interactiveprogram guide. In this example, the interactive program guide iscurrently displayed for Wednesday January 2. The interactive programguide also includes a week-at-a-glance row 207. The row contains abutton for each day of the week starting with the current day of theweek. When a user selects one of the buttons, the interactive systemdisplays the interactive program guide for that day for the same time ascurrently displayed.

FIG. 3 illustrates an example interactive program guide that is displayafter the user selects another day's button. The interactive programguide 300 includes television display area 301 and program grid 302. Theinteractive program guide has the same overall appearance as that ofFIG. 2. The current day field 306 now indicates that the currentlyselected day is Friday January 4th. The user can select the buttons ofthe week-at-a-glance row 307 to view the interactive program guide forother days within the same week. For example, the user can select theWednesday button to re-display the interactive program guide illustratedin FIG. 2.

FIG. 4 illustrates an example interactive program guide in an alternatemechanism for selecting another day of the week. Interactive programguide 400 has the same overall appearance as interactive program guidesof FIGS. 2 and 3. The interactive program guide 400, however, does notinclude a week-at-a-glance row. Rather, the current day field has a nextindicator 408 and a previous day indicator 409 adjacent to it. Theseindicators indicate that the user should select the skip forward buttonof the remote control to select the next day, and the rewind button ofthe remote control to select the previous day. Alternatively, theseindicators indicate to select the fast forward or fast rewind buttons ofthe remote control. This alternate mechanism allows a user to selectdays outside the current week including the days before the current dayof the week.

FIG. 5 is a flow diagram illustrating an implementation of a componentto generate an interactive program guide in one embodiment. Thecomponent may execute on a set-top box. In block 501, the componentidentifies the current date and time from, for example, a system clock.In block 502, the component generates and displays an interactiveprogram guide for the current date and time determined in block 501. Inblock 503, the component receives user input selecting a new date. Suchuser input may be received via various input devices, in response to thedisplay of various input controls, or no prompting display. In block504, the component generates and displays an additional interactiveprogram guide for the current time—identified in block 501—on the dateselected in block 503. The component then completes.

FIG. 6 illustrates an example interactive program guide for whichobjectionable information has been filtered out. The interactive systemprovides a mechanism for specifying filter criteria for objectionablematerial. The filter criteria can be based on content rating, contentattributes, country of origin of the content, the user's country, and soon. When generating an interactive program guide, the interactive systemretrieves programming information that includes attributes of theavailable content. The interactive system then applies the filtercriteria to each of the available content indicated in the programminginformation to determine whether the available content meets the filtercriteria. If it does not meet the filter criteria, then the content'sprogramming information is omitted from the interactive program guide.For example, the title of the content of the may be blanked out orreplaced by a title that indicates that “No programming is available.”The interactive system may also completely omit rows of the interactiveprogram guide whose content is determined to be objectionable. Thus, theinteractive system can omit objectionable information on a row-by-rowbasis (e.g., a channel) or on a cell-by-cell (e.g., content of achannel) basis. The interactive program guide 600 includes televisiondisplay area 601 and program grid 602. In this example, the interactivesystem determined that the television show that is scheduled to bebroadcast on channel 3 at 12:00 PM did not pass all the filter criteria.Thus, the title of the program show “All My Children” was replaced bythe title “No programming available.” Also, the row for channel 99 asshown on FIG. 2 has been omitted because channel 99 did not pass all thefilter criteria.

FIG. 7 is a flow diagram illustrating an implementation of a componentthat removes information about objectionable content in one embodiment.The component that removes objectionable content is passed an indicationof the selected day and time for the interactive program guide, as wellas selection criteria for selecting programs about which to displayinformation, such as program genres, and parental controls, such aslimits on the content ratings on programs about which information is tobe displayed. Both selection criteria and potential controls may beconfigured by a user, or may be set in another fashion. In block 701,the component retrieves the programming information for the passed dayand time. In block 702, the component filters the retrieved programinformation in accordance with the specified selection criteria. Inblock 703, the component further filters the retrieved programinformation in accordance with the specified parental controls. In block704, the component generates the interactive program guide based on thefiltered programming information. In block 705, the component displaysthe generated interactive program guide and then completes.

FIG. 8 illustrates the integration of television programming informationwith on-demand programming information on a single interactive programguide in one embodiment. Interactive program guide 800 includes aprogram grid 801. The program grid includes television programming rows808 and a pay-per-view row 811. The program grid also includes on-demandprogramming information rows 809 and 810. Row 809 includes informationrelated to on-demand movies that the user has rented, and Row 810includes information related to weather forecasting. More generally, theinteractive program guide may contain a row for various types ofon-demand programming such as access to particular web sites. A userselects rows 809 and 810 to display more information about the on-demandprogramming.

FIG. 9 illustrates an interactive program guide with regular-sized cellsin one embodiment. The interactive program guide 900 includes programgrid 902. The program grid includes cells 905 all of the same size. Inthis example, the width of the cell corresponds to a 30-minuteprogramming slot. Some programs, however, are longer than 30 minutes.For example, the program “All My Children” broadcast on channel 3starting at 12:00 PM is 60 minutes long. Thus, the title is repeatedtwice in each of the two regular-sized cells. FIG. 10 illustrates aninteractive program guide with regular-sized cells when the user selectsa cell. The interactive program guide 1000 includes program grid 1001.When the user selects one of the cells for the content “All MyChildren,” the interactive system highlighted all cells associated withthat content. As a result, the user can quickly see the start and endtime associated with that content. One skilled in the art willappreciate that a cell can be selected in various ways, such as tabbingfrom one cell to the next, moving a pointer over a cell, clicking on acell, or so on. FIG. 11 illustrates another example of the interactiveprogram guide when the user selects a cell of a program that is longerthan 30 minutes. In this example, the user selected one of the cells ofchannel 99. Since each of the cells for channel 9 relates to“SportsCenter,” the interactive system highlighted each cell.Alternatively, the interactive system may determine that “SportsCenter”is continuous and only highlight the currently selected cell rather thanall cells for the content.

FIG. 12 illustrates an example television screen in which ATVEFinformation has been embedded. Television screen 1200 displays a video1201. The television screen also displays a button 1202. The button 1202was generated by the set-top box in response to detecting that ATVEFinformation was included in a frame of the movie being displayed. Inthis example, the set-top box displayed the button to indicate that theuser can buy sunglasses. The movie happens to include actors who wearsunglasses and part of the dialogue of the movie discusses sunglasses.In one embodiment, the interactive system parses the closed caption textto identify discussion topic of the movie. The end this case, adiscussion topic related to sunglasses.

Referring to FIG. 1, the content server received the content fromvarious content sources that may or may not include ATVEF information orother interactive enhancement information. The content server may addATVEF links to content that does not include them or may modify theATVEF links on content that does include them. For example, the contentserver may have the user's profile information and may be able toprovide ATVEF links that are customized to the user's profile. So, forexample, if a user has previously purchased a certain brand ofsunglasses, then the content server may replace the ATVEF linkindicating to buy sunglasses with the link indicating to buy a case forthe sunglasses. More generally, the content server that may add ATVEFlinks to on-demand video which traditionally does not include any ATVEFlinks.

FIG. 13 is a flow diagram illustrating a component for adding ATVEFinformation to a video stream in one embodiment. In block 1301, thecomponent receives the video stream. In block 1302, the componentanalyzes the video stream to determine how the video stream should bemodified with ATVEF information. Such analysis may include analyzingclosed caption information that accompanies the video stream. Suchmodification may include the adding of ATVEF information, or theupdating of the ATVEF information previously added to the video stream.In block 1303, the component modifies the video stream to insert ATVEFinformation in accordance with the analysis of block 1302. In step 1304,the component displays the video stream as modified in block 1303 andthen completes.

The set-top box and the content server may be computers that include acentral processing unit, memory, and input devices (e.g., keyboard orremote control), output devices, and storage devices (e.g., diskdrives). The memory and storage devices are computer-readable media thatmay contain instructions that implement the interactive system. Inaddition, the data structures and message structures may be stored ortransmitted via a data transmission medium such as the Internet. Variouscommunication links other than the Internet may be used such as localarea networks, wide area networks or point-to-point connections.

From the foregoing, it will be appreciated the various embodiments ofthe invention have been described herein for purposes of illustration,but one skilled in the art will appreciate that modifications may bemade without deviating from the spirit and scope of intervention.Accordingly, the invention is not limited except as by the appendedclaims.

1-9. (canceled)
 10. A method for highlighting cells of a program guide,the method comprising: displaying a program guide, the program guidehaving cells of a regular size, each cell representing content availablefor a time period; receiving a selection of a cell; and in response toreceiving the selection of the cell, identifying a cell for an adjacenttime period of the selected cell that represent the same content as theselected cell; and highlighting the identified cell so that both theselected cell and the identified cell are highlighted simultaneously.11. The method of claim 10 wherein the regular size indicates cells ofthe same width.
 12. The method of claim 10 wherein the regular sizeindicates cells of the same height.
 13. The method of claim 10 whereinthe regular size indicates cells of the same height and the same width.14. The method of claim 10 including identifying and highlighting 15.The method of claim 10 wherein the identifying includes comparing textassociated with the selected cell with text associated with the cell inthe adjacent time period.
 16. The method of claim 10 wherein theidentifying includes comparing an image associated with the selectedcell with an image associated with the cell in the adjacent time period.17. The method of claim 10 including suppressing the identifying of acell when content of the selected cell is repeated over an extendedperiod.
 18. The method of claim 10 wherein the identifying includesdetermining an ending time associated with the content of the selectedcell.
 19. The method of claim 10 wherein the identifying includesdetermining a beginning time associated with the content of the selectedcell.
 20. The method of claim 10 wherein the identifying includesdetermining a beginning time and an ending time associated with thecontent of the selected cell. 21-58. (canceled)